package com.wva.ffmpeg.utils;

import lombok.Builder;
import lombok.Data;
import org.bytedeco.javacv.Frame;

import java.util.function.Consumer;

/**
 * 提供用来处理帧的处理器，每个处理器在帧有图像时才开始生效
 * @Author: hong
 * @Date: 2025/2/21 23:46:15
 */
@Builder
@Data
public class FrameHandlerOptions {
    /**
     * 只会在第一帧时调用它，和every同时存在时比every先
     */
    private Consumer<Frame> first;
    /**
     * 会调用它处理每个帧
     */
    private Consumer<Frame> every;
    /**
     * 只会在最后一帧时调用它，和every同时存在时比every慢
     */
    private Consumer<Frame> last;
}
